package puzzle_a_estrela;

/**
 * Interface de estado. Sua implementação é utilizada para buscar nós-meta.
 */
public interface Estado {
    
    /**
     * Determina se o estado é final.
     */
    public boolean estadoFinal();
    
    /**
     * Gera todos os possíveis pares Ação/Estado dos sucessores desse estado 
     */
    public AcaoEstado[] sucessores();
    
    /**
     * Retorna o custo de realizar uma ação no estado atual 
     */
    public double custoCaminho(Acao acao);

}
